package com.language.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Component;

/**
 * Message util 国际化message工具
 *
 * @description:
 * @author: cyj
 * @date 2022 -08-04 17:57:22
 */
@Component
public class MessageUtil {

    private static MessageSource messageSource;

    @Autowired
    public void setMessageSource(MessageSource messageSource) {
        MessageUtil.messageSource = messageSource;
    }

    /**
     * 根据消息键和参数 获取消息 委托给spring messageSource
     * messages.properties 必须存在，内容可为空
     * 读取配置文件路径 默认classpath*:, 可设置spring.messages.basename进行修改
     * @param key 消息键
     * @param args 参数， {0}
     * @return 获取国际化翻译值
     */
    public static String message(String key, Object... args) {
        return messageSource.getMessage(key, args, LocaleContextHolder.getLocale());
    }
}
